/**
 * 项目名称: Topic_876.cpp
 * 项目路径: study/DataStructure/LinkedList/LeetCode
 * 编辑时间: 2024年06月27日20时55分27秒
 * 用   户: 轻尘
 */

#include <bits/stdc++.h>

using namespace std;

struct ListNode {
    int val;
    ListNode *next;

    ListNode() : val(0), next(nullptr) {}

    ListNode(int x) : val(x), next(nullptr) {}

    ListNode(int x, ListNode *next) : val(x), next(next) {}
};

class Solution {
public:
    ListNode* middleNode(ListNode* head) {
        if(!head)return nullptr;

        ListNode * per = head;

        int cnt = 0;
        while (per){
            per = per->next;
            cnt++;
        }
        int k =cnt/2;
        ListNode * op = head;
        while (k--)op = op->next;
        return op;
    }
};

int main() {

    return 0;
}
